package org.wenhua.yuan.and.util

import android.app.Application

/**
 * 通过反射的方式，获取全局的Application是一种拓展思路
 * 对于组件化项目,不可能把项目实际的Application下沉到Base,
 * 而且各个module也不需要知道Application真实名称
 */
object ContextGlobal {
    private var context:Application? = null
    fun get() : Application? {
        try {
            if (context == null) {
                context = Class.forName("android.app.ActivityThread")
                    .getMethod("currentApplication")
                    .invoke(null) as Application
            }
        } catch (err: Exception) {
            /**不作处理*/
        }finally {
            return context
        }
    }
}